#ifndef __APLICADOR_RESTRICCIONES_DETERMINISTICAS_H__
#define __APLICADOR_RESTRICCIONES_DETERMINISTICAS_H__

#include "PlanDeCarrera.h"
#include "ContextoDeEjecucion.h"

namespace modelo {

	class AplicadorRestriccionesDeterministicas
	{
	public:
		AplicadorRestriccionesDeterministicas(ContextoDeEjecucion* contexto);
		~AplicadorRestriccionesDeterministicas(void);

		void AplicarRestriccionesDeterministicas(PlanDeCarrera* planDeCarrera);
	
	private:
		ContextoDeEjecucion* contexto;
		
		void AplicarRestriccionDeOptativasQueQuieroCursar(PlanDeCarrera* planDeCarrera);
		void AplicarRestriccionDeOptativasQueNoQuieroCursar(PlanDeCarrera* planDeCarrera);
		void AplicarRestriccionDeDisponibilidadHoraria(PlanDeCarrera* planDeCarrera);

	};
}
#endif